home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / stkmgmt.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-04-24  |  26.5 KB  |  645 lines

  1. 10  GOTO 150
  2. 20  REM **********************  STKMGMT  *****************************
  3. 30  REM **          - STOCK  PORTFOLIO  MANAGEMENT -                **
  4. 40  REM **                 *  *  *  *  *  *                         **
  5. 50  REM **  Program to Manage Data for a Personal Stock Portfolio   **
  6. 60  REM **************************************************************
  7. 70  REM **   Copyright 1982, SoftPic Inc., Stamford, Conn. 06903    **
  8. 80  REM **************************************************************
  9. 90  REM **  Author :  Art M. Pickard                                **
  10. 100  REM *  Created:  5/29/82                                       **
  11. 110  REM *  Edited:   6/10/82                                       **
  12. 120  REM *  Source:   STKMGMT.BAS  v 1.00                           **
  13. 130  REM *  Data:     PURCHASE.DAT          PORTFOL.DAT             **
  14. 140  REM *************************************************************
  15. 150  CLEAR ,,2048: DEFINT N,R,X
  16. 160  GOSUB 5970                          'DISPLAY LOGO
  17. 170  CMD$="Press any Key to Begin (ENTER to By-Pass Welcome):"
  18. 180  GOSUB 310                           'COMMAND PROMPT
  19. 190  IF A$=CHR$(13) THEN 230
  20. 200  GOSUB 6230                          'DISPLAY WELCOME
  21. 210  CMD$="Press any Key to see Primary Options:"
  22. 220  GOSUB 310                           'COMMAND PROMPT
  23. 230  GOSUB 400                           'DISPLAY PRIMARY OPTION
  24. 240  GOSUB 540                           'ACTIVATE FUNCTION KEYS
  25. 250  CMD$="Enter Selection (F1-F10):"
  26. 260  GOSUB 310                           'COMMAND PROMPT
  27. 270  GOTO 230
  28. 280  REM ********************** PROGRAM END ************************************
  29. 290  CLS: END
  30. 300  REM ********************* COMMAND PROMPT **********************************
  31. 310  LOCATE 25,1: PRINT SPACE$(78);: LOCATE 25,1
  32. 320  PRINT CMD$;                         'PRINT LINE 25 PROMPT
  33. 330  A$=INKEY$: IF A$="" THEN 330
  34. 340  RETURN
  35. 350  REM ******************* CURRENT ACTIVITY PROMPT ***************************
  36. 360  LOCATE 23,1: PRINT SPACE$(78);: LOCATE 23,10
  37. 370  PRINT ACT$+"......";                'PRINT LINE 23 PROMPT
  38. 380  RETURN
  39. 390  REM ******************* PRIMARY OPTION SCREEN *****************************
  40. 400  CLS: LOCATE 1,20: PRINT "STOCK  PORTFOLIO  MANAGEMENT": PRINT: PRINT
  41. 410  PRINT "OPTIONS:": PRINT
  42. 420  PRINT TAB(10) "1. Display (or Print) Current Portfolio Value;"
  43. 430  PRINT TAB(10) "2. Record Stock Purchase;"
  44. 440  PRINT TAB(10) "3. Record Stock Sale:"
  45. 450  PRINT TAB(10) "4. Print Purchase and Sale Records;"
  46. 460  PRINT TAB(10) "5. Update Purchase and Sale Records;"
  47. 470  PRINT TAB(10) "6. Update Portfolio Summary Records;"
  48. 480  PRINT TAB(10) "7. Generate Purchase/Sale Summary; (N/A)"
  49. 490  PRINT TAB(10) "8. Initialize Data File(s);"
  50. 500  PRINT TAB(10) "9. Describe Program (Help);"
  51. 510  PRINT TAB(9) "10. Exit (to Basic)."
  52. 520  RETURN
  53. 530  REM ******************* PRIMARY FUNCTION KEYS *****************************
  54. 540  KEY(1) ON: KEY(2) ON: KEY(3) ON: KEY(4) ON: KEY(5) ON
  55. 550  KEY(6) ON: KEY(7) ON: KEY(8) ON: KEY(9) ON: KEY(10) ON
  56. 560  ON KEY(1) GOSUB 2250: ON KEY(2) GOSUB 2840: ON KEY(3) GOSUB 3160
  57. 570  ON KEY(4) GOSUB 4790: ON KEY(5) GOSUB 5360: ON KEY(6) GOSUB 3670
  58. 580  ON KEY(7) GOSUB 0: ON KEY(8) GOSUB 5670: ON KEY(9) GOSUB 2010
  59. 590  ON KEY(10) GOSUB 290
  60. 600  RETURN
  61. 610  REM ****************** PORTFOLIO VALUE SCREEN *****************************
  62. 620  CLS: LOCATE 1,20: PRINT "DISPLAY  PORTFOLIO  VALUE": PRINT: PRINT
  63. 630  PRINT "OPTIONS:": PRINT
  64. 640  PRINT TAB(10) "1.  Display (on screen) Current Values;"
  65. 650  PRINT TAB(10) "2.  Print Current Values;"
  66. 660  PRINT TAB(10) "3.  Print, in BOLD face, Current Values;"
  67. 670  PRINT TAB(10) "9.  HELP;"
  68. 680  PRINT TAB(9) "10.  Return to Primary Options."
  69. 690  LOCATE 20,1
  70. 700  PRINT "Be sure PORTFOL.DAT is in Drive B before selecting #1, #2 or #3."
  71. 710  CMD$="Enter Selection:"
  72. 720  RETURN
  73. 730  REM *************** PORTFOLIO VALUE FUNCTION KEYS *************************
  74. 740  KEY(1) ON: KEY(4) OFF: KEY(5) OFF: KEY(6) OFF: KEY(7) OFF: KEY(8) OFF
  75. 750  ON KEY(1) GOSUB 2300: ON KEY(2) GOSUB 2570: ON KEY(3) GOSUB 2560
  76. 760  ON KEY(9) GOSUB 6380: ON KEY(10) GOSUB 6400
  77. 770  RETURN
  78. 780  REM ******************** STOCK PURCHASE SCREEN ****************************
  79. 790  CLS: LOCATE 1,20: PRINT "STOCK PURCHASE": PRINT: PRINT
  80. 800  INPUT "Enter Name of Company:  ",N$
  81. 810  INPUT "Enter ID of Company:  ",I$
  82. 820  INPUT "Enter Number of Shares Purchased:  ",SH%
  83. 830  INPUT "Enter Date of Purchase:  ",D$
  84. 840  INPUT "Enter Purchase Price (Basis):  ",PR
  85. 850  PRINT "Enter Purchase Source: OM - Open market;     SP - Stock Plan"
  86. 860  PRINT TAB(24) "EF - Father's Estate; GF - Gift"
  87. 870  PRINT TAB(24) "EM - Mother's Estate; DR - Dividend Reinvest";
  88. 880  INPUT "  ",S$
  89. 890  IF LEFT$(N$,3) <> "IBM" THEN 930
  90. 900  INPUT "Enter Avg. Mkt. Price (DOP):  ",MP
  91. 910  INPUT "Enter Date of Offering:  ",O$
  92. 920  IN=(INT((MP-PR)*100+0.5))/100
  93. 930  INPUT "Enter Certificate Number:  ",C$
  94. 940  LOCATE 20,1
  95. 950  PRINT "Be Sure PURCHASE.DAT is in Drive B.  Press ENTER when Ready."
  96. 960  A$=INKEY$: IF A$="" THEN 960
  97. 970  ACT$="Processing Purchase": GOSUB 360
  98. 980  RETURN
  99. 990  REM ******************* PURCHASE FUNCTION KEYS ****************************
  100. 1000  KEY(2) OFF: KEY(3) OFF: KEY(4) OFF: KEY(5) OFF: KEY(6) OFF: KEY(7) OFF
  101. 1010  KEY(8) OFF: KEY(9) OFF: ON KEY(1) GOSUB 2840: ON KEY(10) GOSUB 6400
  102. 1020  RETURN
  103. 1030  REM *********************** STOCK SALE SCREEN ****************************
  104. 1040  CLS:LOCATE 1,24:PRINT "STOCK SALE":PRINT:PRINT
  105. 1050  INPUT "Enter Name of Company:  ",N$
  106. 1060  INPUT "Enter ID of Company:  ",I$
  107. 1070  INPUT "Enter Date of Sale:  ",D$
  108. 1080  INPUT "Enter Date of Purchase or M (Multi)  ",DP$
  109. 1090  INPUT "Enter Number of Shares Sold:  ",SH%
  110. 1100  INPUT "Enter Net Proceeds of Sale:  ",PN
  111. 1110  PRINT "Enter Type of Disposition: OM - Open Market;   GF - Gift"
  112. 1120  PRINT TAB(28) "GM - Gift to Minor; GS - Gift to Education";
  113. 1130  INPUT " ",PT$
  114. 1140  LOCATE 20,1
  115. 1150  PRINT "Be Sure PURCHASE.DAT is in Drive B.  Press ENTER when Ready."
  116. 1160  A$=INKEY$: IF A$="" THEN 1160
  117. 1170  ACT$="Processing Sale": GOSUB 360
  118. 1180  RETURN
  119. 1190  REM ********************* SALE FUNCTION KEYS *****************************
  120. 1200  KEY(2) OFF: KEY(3) OFF: KEY(4) OFF: KEY(5) OFF: KEY(6) OFF: KEY(7) OFF
  121. 1210  KEY(8) OFF: KEY(9) OFF: ON KEY(1) GOSUB 3160: ON KEY(10) GOSUB 6400
  122. 1220  RETURN
  123. 1230  REM ***************** UPDATE PURCHASE FILE SCREEN ************************
  124. 1240  CLS: LOCATE 1,20: PRINT "UPDATE PURCHASE RECORDS": PRINT: PRINT
  125. 1250  PRINT "OPTIONS:": PRINT
  126. 1260  PRINT TAB(10) "1.  Update Certificate Number;"
  127. 1270  PRINT TAB(10) "2.  Update Date Purchased or Date Sold; (N/A)"
  128. 1280  PRINT TAB(10) "3.  Update Purchase Source; (N/A)"
  129. 1290  PRINT TAB(10) "4.  Update Type of Sale; (N/A)"
  130. 1300  PRINT TAB(10) "9.  HELP;"
  131. 1310  PRINT TAB(9) "10.  Return to Primary Options."
  132. 1320  LOCATE 20,1
  133. 1330  PRINT "Be Sure PURCHASE.DAT is in Drive B before selecting #1-4."
  134. 1340  CMD$="Enter Selection:"
  135. 1350  RETURN
  136. 1360  REM **************** UPDATE PURCHASE FUNCTION KEYS ***********************
  137. 1370  KEY(1) ON: KEY(6) OFF: KEY(7) OFF: KEY(8) OFF: ON KEY(1) GOSUB 5410
  138. 1380  ON KEY(2) GOSUB 6400: ON KEY(3) GOSUB 6400: ON KEY(4) GOSUB 6400
  139. 1390  ON KEY(9) GOSUB 6430: ON KEY(10) GOSUB 6400
  140. 1400  RETURN
  141. 1410  REM ***************** UPDATE SUMMARY FILE SCREEN *************************
  142. 1420  CLS: LOCATE 1,20: PRINT "UPDATE PORTFOLIO SUMMARY": PRINT: PRINT
  143. 1430  PRINT "OPTIONS:": PRINT
  144. 1440  PRINT TAB(10) "1.  Update Current Prices;"
  145. 1450  PRINT TAB(10) "2.  Update Number of Shares Owned;"
  146. 1460  PRINT TAB(10) "3.  Update Current Basis (reflecting purchases);"
  147. 1470  PRINT TAB(10) "4.  Add New Stock to Summary File;"
  148. 1480  PRINT TAB(10) "5.  Delete Stock from Summary File;"
  149. 1490  PRINT TAB(10) "9.  HELP;"
  150. 1500  PRINT TAB(9) "10.  Return to Primary Options."
  151. 1510  LOCATE 20,1
  152. 1520  PRINT "Be Sure PORTFOL.DAT is in Drive B before selecting #1-5."
  153. 1530  CMD$="Enter Selection:"
  154. 1540  RETURN
  155. 1550  REM ******************** UPDATE FUNCTION KEYS ****************************
  156. 1560  KEY(7) OFF: KEY(8) OFF: ON KEY(1) GOSUB 3720: ON KEY(2) GOSUB 3880
  157. 1570  ON KEY(3) GOSUB 4060: ON KEY(4) GOSUB 4240: ON KEY(5) GOSUB 4530
  158. 1580  ON KEY(9) GOSUB 6410: ON KEY(10) GOSUB 6400
  159. 1590  RETURN
  160. 1600  REM ****************** INITIALIZE FILES SCREEN ***************************
  161. 1610  CLS: LOCATE 1,23: PRINT "INITIALIZE FILES": PRINT: PRINT
  162. 1620  PRINT "OPTIONS:": PRINT
  163. 1630  PRINT TAB(10) "1.  Initialize Portfolio Summary File (PORTFOL.DAT);"
  164. 1640  PRINT TAB(10) "2.  Initialize Purchase and Sale Detail File (PURCHASE.DAT);"
  165. 1650  PRINT TAB(9) "10.  Return to Primary Options."
  166. 1660  LOCATE 20,1
  167. 1670  PRINT "Be Sure a Formatted Diskette is in Drive B before selecting #1-2."
  168. 1680  CMD$="Enter Selection:"
  169. 1690  RETURN
  170. 1700  REM ***************** INITIALIZE FUNCTION KEYS ***************************
  171. 1710  KEY(3) OFF: KEY(4) OFF: KEY(5) OFF: KEY(6) OFF: KEY(7) OFF: KEY(9) OFF
  172. 1720  ON KEY(1) GOSUB 5720: ON KEY(2) GOSUB 5810: ON KEY(10) GOSUB 6400
  173. 1730  RETURN
  174. 1740  REM ***************** INITIALIZE PORTFOL SCREEN **************************
  175. 1750  CLS:LOCATE 1,18: PRINT "INITIALIZE `PORTFOL.DAT'": PRINT: PRINT
  176. 1760  PRINT "Enter Data for First Stock purchased (others can be added using"
  177. 1770  PRINT "the Add Stock Feature - #4 on Option List of Primary Option F6):"
  178. 1780  PRINT:INPUT "   Enter Name of Company (up to 19 chars.):  ",I$
  179. 1790  INPUT "   Enter Number of Shares Owned:  ",SH%
  180. 1800  INPUT "   Enter Basis Price of Stock:  ",BS
  181. 1810  PRINT:PRINT "Use Other Features to Complete Initial Record."
  182. 1820  CMD$="Press F10 to Return to Options:"
  183. 1830  RETURN
  184. 1840  REM ****************** INITIALIZE PURCH SCREEN ***************************
  185. 1850  CLS:LOCATE 1,18: PRINT "INITIALIZE `PURCHASE.DAT'": PRINT: PRINT
  186. 1860  PRINT "Enter data for first stock purchased (others can be added using"
  187. 1870  PRINT "the Record Stock Purchase Feature - #2 on Primary Option List):"
  188. 1880  PRINT: INPUT "Enter Name of Company (up to 19 chars.):  ",N$
  189. 1890  INPUT "Enter ID of Company:  ",I$
  190. 1900  INPUT "Enter Number of Shares Purchased:  ",SH%
  191. 1910  INPUT "Enter Date of Purchase:  ",D$
  192. 1920  INPUT "Enter Purchase Price (Basis):  ",PR
  193. 1930  PRINT "Enter Purchase Source: OM - Open Market;     SP - Stock Plan"
  194. 1940  PRINT TAB(24) "EF - Father's Estate; GF - Gift"
  195. 1950  PRINT TAB(24) "EM - Mother's Estate; DR - Dividend Reinvest";
  196. 1960  INPUT "  ",S$
  197. 1970  PRINT:PRINT "Use other features as needed to complete the initial record."
  198. 1980  CMD$="Press F10 to Return to Options:"
  199. 1990  RETURN
  200. 2000  REM *********************** DESCRIBE SCREEN 1 ****************************
  201. 2010  CLS: LOCATE 1,20: PRINT "STOCK  PORTFOLIO  MANAGEMENT": PRINT
  202. 2020  PRINT "Two key data files are maintained and used by the STOCK PORTFOLIO"
  203. 2030  PRINT "MANAGEMENT System, one to record your current summarized position"
  204. 2040  PRINT "(PORTFOL.DAT), and the other to hold the history of your purchase"
  205. 2050  PRINT "and sale transactions (PURCHASE.DAT).  Data items carried in both"
  206. 2060  PRINT "files are used to support the portfolio management functions that"
  207. 2070  PRINT "are provided.  Specific functions for file maintenance and update"
  208. 2080  PRINT "can be selected, together with functions to display and print the"
  209. 2090  PRINT "portfolio summary or history.
  210. 2100  PRINT
  211. 2110  PRINT "To begin, you should INITIALIZE each file on a `formatted', blank"
  212. 2120  PRINT "diskette (F8 on Primary Option Screen), by entering one item into"
  213. 2130  PRINT "into each file.  Additional items should then be added, using the"
  214. 2140  PRINT "standard functions, until PURCHASE.DAT contains an entry for each"
  215. 2150  PRINT "transaction, and PORTFOL.DAT has an entry for each stock you own."
  216. 2160  PRINT "The two files can be kept on the same diskette, assuring that the"
  217. 2170  PRINT "loading of either file results in the loading of the other. It is"
  218. 2180  PRINT "also important to build the habit of keeping backup copies of the"
  219. 2190  PRINT "files, to guard against data loss or inconvience."
  220. 2200  CMD$="Press F10 to Return to Options:"
  221. 2210  ON KEY(10) GOSUB 230
  222. 2220  GOSUB 310                   'COMMAND PROMPT
  223. 2230  RETURN
  224. 2240  REM ****************** PORTFOLIO VALUE ROUTINE ***************************
  225. 2250  GOSUB 620                          'DISPLAY OPTIONS
  226. 2260  GOSUB 740                          'ACTIVATE FUNCTION KEYS
  227. 2270  GOSUB 310                          'COMMAND PROMPT
  228. 2280  RETURN
  229. 2290  REM *********************** STOCKVAL ROUTINE *****************************
  230. 2300  GOSUB 5890                         'OPEN PORTFOL.DAT
  231. 2310  GET #1,1
  232. 2320  CLS: LOCATE 2,60: PRINT DT$: PRINT
  233. 2330  PRINT TAB(21) "VALUE OF PERSONAL STOCK HOLDINGS"
  234. 2340  LOCATE 6,1
  235. 2350  PRINT "Company"; TAB(21);"Shrs";TAB(29) "Price";TAB(41) "Value";TAB(53) "Basis";TAB(67) "Gain": PRINT
  236. 2360  RN=1: VLT=0: GNT=0
  237. 2370  GET #1,RN
  238. 2380  IF EOF(1) THEN 2480
  239. 2390  SH%=CVI(SH$): PR=CVS(PR$): VL=CVS(VL$): BS=CVS(BS$): GN=CVS(GN$)
  240. 2400  PRINT ID$;
  241. 2410  PRINT USING "  ###"; SH%;
  242. 2420  PRINT USING "  $$##.###"; PR;
  243. 2430  PRINT USING "  $$#####,.##"; VL;
  244. 2440  PRINT USING "  $$####,.##"; BS;
  245. 2450  PRINT USING "  $$#####,.##-"; GN
  246. 2460  VLT=VLT+VL: GNT=GNT+GN
  247. 2470  RN=RN+1: GOTO 2370
  248. 2480  PRINT: PRINT TAB(25) "total value:";
  249. 2490  PRINT USING "$$#####,.##";VLT;
  250. 2500  PRINT TAB(51) "total gain:";
  251. 2510  PRINT USING "$$#####,.##-";GNT
  252. 2520  CLOSE #1: CMD$="Press F2 (or F3) to Print Values, F10 to Return:"
  253. 2530  GOSUB 310                          'COMMAND PROMPT
  254. 2540  RETURN
  255. 2550  REM ********************** PRINT STOCKVAL ROUTINE ************************
  256. 2560  LPRINT CHR$(27);"E";               'SET BOLD PRINT
  257. 2570  GOSUB 5880                         'OPEN PORTFOL.DAT
  258. 2580  ACT$="Printing": GOSUB 360         'DISPLAY ACTION
  259. 2590  GET #1,1
  260. 2600  LPRINT: LPRINT TAB(60) DT$: LPRINT
  261. 2610  LPRINT TAB(21) "VALUE OF PERSONAL STOCK HOLDINGS": LPRINT
  262. 2620  LPRINT "Company"; TAB(21);"Shrs";TAB(29) "Price";TAB(41) "Value";TAB(53) "Basis";TAB(67) "Gain": LPRINT
  263. 2630  RN=1: VLT=0: GNT=0
  264. 2640  GET #1,RN
  265. 2650  IF EOF(1) THEN 2750
  266. 2660  SH%=CVI(SH$): PR=CVS(PR$): VL=CVS(VL$): BS=CVS(BS$): GN=CVS(GN$)
  267. 2670  LPRINT ID$;
  268. 2680  LPRINT USING "  ###"; SH%;
  269. 2690  LPRINT USING "  $$##.###"; PR;
  270. 2700  LPRINT USING "  $$#####,.##"; VL;
  271. 2710  LPRINT USING "  $$####,.##"; BS;
  272. 2720  LPRINT USING "  $$#####,.##-"; GN
  273. 2730  VLT=VLT+VL: GNT=GNT+GN
  274. 2740  RN=RN+1: GOTO 2640
  275. 2750  LPRINT: LPRINT TAB(25) "total value:";
  276. 2760  LPRINT USING "$$#####,.##";VLT;
  277. 2770  LPRINT TAB(51) "total gain:";
  278. 2780  LPRINT USING "$$#####,.##-";GNT
  279. 2790  CLOSE #1: LPRINT CHR$(27);"F";CHR$(12);
  280. 2800  ACT$="Done": GOSUB 360             'DISPLAY ACTION
  281. 2810  CMD$="Press F10 to Return to Options:": GOSUB 310  'COMMAND PROMPT
  282. 2820  RETURN
  283. 2830  REM ******************* STOCK PURCHASE ROUTINE ***************************
  284. 2840  GOSUB 790                          'DISPLAY SCREEN
  285. 2850  GOSUB 1000                         'ACTIVATE FUNCTION KEYS
  286. 2860  GOSUB 5930                         'OPEN PURCHASE FILE
  287. 2870  RN=1: T$="B"                       'SET RECORD NUMBER - SET `BUY'
  288. 2880  GET #1,RN
  289. 2890  IF 0=EOF(1) THEN 2920
  290. 2900  GOSUB 3110                         'DO LSETs
  291. 2910  PUT #1,RN: GOTO 3080               'PUT AS LAST RECORD
  292. 2920  IF LEFT$(ID$,LEN(I$)) > I$ THEN 2950
  293. 2930  IF LEFT$(ID$,LEN(I$)) = I$ THEN T$="A"
  294. 2940  RN=RN+1: GOTO 2880
  295. 2950  FIELD #1, 81 AS BF$
  296. 2960  B$=BF$                             'INPUT BUFFER TO HOLD BUFFER
  297. 2970  GOSUB 5940                         'RESET FIELD STMT
  298. 2980  GOSUB 3110                         'REDO LSETs
  299. 2990  PUT #1,RN: RN=RN+1: BB$=B$         'HOLD BUFFER TO OUTPUT BUFFER
  300. 3000  GET #1,RN
  301. 3010  IF EOF(1) THEN 3050
  302. 3020  FIELD #1, 81 AS BF$
  303. 3030  B$=BF$                             'INPUT BUFFER TO HOLD BUFFER
  304. 3040  LSET BF$=BB$: GOTO 2990            'OUTPUT BUFFER TO RECORD - GO PUT
  305. 3050  LSET BF$=BB$                       'LAST TIME
  306. 3060  PUT #1,RN
  307. 3070  ACT$="Done": GOSUB 360             'DISPLAY ACTION
  308. 3080  CLOSE #1: CMD$="Press F1 to Enter Another, F10 to Return:"
  309. 3090  GOSUB 310                          'COMMAND PROMPT
  310. 3100  RETURN
  311. 3110  LSET ID$=I$: LSET NM$=N$: LSET SH$=MKI$(SH%): LSET DT$=D$
  312. 3120  LSET PR$=MKS$(PR): LSET SR$=S$: LSET CT$=C$: LSET MP$=MKS$(MP)
  313. 3130  LSET DO$=O$: LSET IN$=MKS$(IN): LSET TR$=T$
  314. 3140  RETURN
  315. 3150  REM ******************** STOCK SALE ROUTINE ******************************
  316. 3160  GOSUB 1040                         'DISPLAY SCREEN
  317. 3170  GOSUB 1200                         'ACTIVATE FUNCTION KEYS
  318. 3180  GOSUB 5930                         'OPEN PURCHASE FILE
  319. 3190  RN=1: T$="S"                       'SET RECORD NUMBER - SET "SELL"
  320. 3200  GET #1,RN
  321. 3210  IF 0=EOF(1) THEN 3230
  322. 3220  PRINT "No Corresponding Purchase Record Found - ABORT": GOTO 3490
  323. 3230  IF LEFT$(ID$,LEN(I$)) < I$ THEN RN=RN+1: GOTO 3200
  324. 3240  IF LEFT$(ID$,LEN(I$)) = I$ THEN 3260
  325. 3250  IF LEFT$(ID$,LEN(I$)) > I$ THEN 3220
  326. 3260  IF DP$ <> "M" AND DP$ <> "m" THEN 3540
  327. 3270  IF TR$="A" OR TR$="B" THEN NSO=CVI(SH$): RN=RN+1: GOTO 3290
  328. 3280  IF TR$="S" OR TR$="P" THEN 3220 ELSE 3320
  329. 3290  GET #1,RN
  330. 3300  IF LEFT$(ID$,LEN(I$))>I$ THEN 3340
  331. 3310  IF LEFT$(ID$,LEN(I$))=I$ THEN 3330
  332. 3320  PRINT "File Out of Sequence - ABORT": GOTO 3490
  333. 3330  IF TR$="A" OR TR$="B" THEN NSO=NSO+CVI(SH$): RN=RN+1: GOTO 3290
  334. 3340  IF NSO >= SH% THEN 3360
  335. 3350  PRINT "Insufficient Shares to Sell - ABORT": GOTO 3490
  336. 3360  FIELD #1, 81 AS BF$
  337. 3370  B$=BF$                             'INPUT BUFFER TO HOLD BUFFER
  338. 3380  FIELD #1, 2 AS ID$, 19 AS NM$, 2 AS SH$, 18 AS XX$, 8 AS DS$, 4 AS PN$, 2 AS ST$, 25 AS YY$, 1 AS TR$
  339. 3390  LSET ID$=I$: LSET NM$=N$: LSET SH$=MKI$(SH%): LSET XX$=" ": LSET DS$=D$
  340. 3400  LSET PN$=MKS$(PN): LSET ST$=PT$: LSET YY$=" ": LSET TR$="P"
  341. 3410  PUT #1,RN: RN=RN+1: BB$=B$         'HOLD BUFFER TO OUTPUT BUFFER
  342. 3420  GET #1,RN
  343. 3430  IF EOF(1) THEN 3470
  344. 3440  FIELD #1, 81 AS BF$
  345. 3450  B$=BF$                             'INPUT BUFFER TO HOLD BUFFER
  346. 3460  LSET BF$=BB$: GOTO 3410            'OUTBUFFER TO RECORD - GO PUT
  347. 3470  LSET BF$=BB$                       'LAST TIME
  348. 3480  PUT #1,RN
  349. 3490  ACT$="Done": GOSUB 360             'DISPLAY ACTION
  350. 3500  CLOSE #1: CMD$="Press F1 to Enter Another, F10 to Return:"
  351. 3510  GOSUB 310                          'COMMAND PROMPT
  352. 3520  RETURN
  353. 3530  REM ******** SALE OF ENTIRE PURCHASE RECORD **********
  354. 3540  IF DT$<>DP$ THEN RN=RN+1: GOTO 3200
  355. 3550  IF SH%<>CVI(SH$) THEN 3270
  356. 3560  GN=PN-CVS(PR$): T$="S"
  357. 3570  NY1=VAL(RIGHT$(DT$,2)): NY2=VAL(RIGHT$(D$,2))
  358. 3580  IF NY2-NY1>=2 THEN LS$="L": GOTO 3630
  359. 3590  NM1=VAL(RIGHT$(DT$,2)): NM2=VAL(RIGHT$(D$,2))
  360. 3600  IF NY2-NY1=1 THEN NM2=NM2+12
  361. 3610  IF NM2-NM1>=6 THEN LS$="L": GOTO 3630      'SET LONG TERM
  362. 3620  LS$="S"                            'SET SHORT TERM
  363. 3630  LSET DS$=D$: LSET PN$=MKS$(PN): LSET ST$=PT$: LSET GN$=MKS$(GN)
  364. 3640  LSET TP$=LS$: LSET TR$=T$
  365. 3650  PUT #1,RN: GOTO 3490               'DONE - GO CLOSE AND RETURN
  366. 3660  REM ***************** UPDATE SUMMARY FILE ROUTINE ************************
  367. 3670  GOSUB 1420                         'DISPLAY OPTION SCREEN
  368. 3680  GOSUB 1560                         'ACTIVATE FUNCTION KEYS
  369. 3690  GOSUB 310                          'COMMAND PROMPT
  370. 3700  RETURN
  371. 3710  REM ************************ UPPRICE ROUTINE *****************************
  372. 3720  CLS:LOCATE 1,20: PRINT "STOCK PRICE UPDATE": PRINT: PRINT
  373. 3730  INPUT "Enter Date of Prices:  ",D$
  374. 3740  RN=1: PRINT
  375. 3750  GOSUB 5890                         'OPEN PORTFOLIO FILE
  376. 3760  GET #1,RN
  377. 3770  IF EOF(1) THEN 3840
  378. 3780  PRINT "For: ";ID$;: INPUT ", enter new price:  ",PR
  379. 3790  SH%=CVI(SH$): BS=CVS(BS$)
  380. 3800  VL=(INT(SH%*PR*100+0.5))/100        'RECALCULATE VALUE
  381. 3810  GN=(INT((VL-BS)*100))/100          'RECALCULATE GAIN (LOSS)
  382. 3820  LSET DT$=D$: LSET PR$=MKS$(PR): LSET VL$=MKS$(VL): LSET GN$=MKS$(GN)
  383. 3830  PUT #1,RN: RN=RN+1: GOTO 3760
  384. 3840  CLOSE #1: CMD$="Press F10 to Return to Options:"
  385. 3850  GOSUB 310                          'COMMAND PROMPT
  386. 3860  RETURN
  387. 3870  REM ************************ UPSHARE ROUTINE *****************************
  388. 3880  CLS: LOCATE 1,20: PRINT "STOCK SHARE UPDATE": PRINT: PRINT
  389. 3890  RN=1
  390. 3900  GOSUB 5890                         'OPEN PORTFOLIO FILE
  391. 3910  GET #1,RN
  392. 3920  IF EOF(1) THEN 4020
  393. 3930  SH%=CVI(SH$)
  394. 3940  PRINT "For: ";ID$;",SH=";SH%;: INPUT ". Enter new SH or -1:  ",SH%
  395. 3950  IF SH%=-1 THEN 4010
  396. 3960  PR=CVS(PR$): BS=CVS(BS$)
  397. 3970  VL=(INT(SH%*PR*100+0.5))/100        'RECALCULATE VALUE
  398. 3980  GN=(INT((VL-BS)*100))/100          'RECALCULATE GAIN (LOSS)
  399. 3990  LSET SH$=MKI$(SH%): LSET VL$=MKS$(VL): LSET GN$=MKS$(GN)
  400. 4000  PUT #1,RN
  401. 4010  RN=RN+1: GOTO 3910
  402. 4020  CLOSE #1: CMD$="Press F10 to Return to Options:"
  403. 4030  GOSUB 310                          'COMMAND PROMPT
  404. 4040  RETURN
  405. 4050  REM ************************* UPBASIS ROUTINE ****************************
  406. 4060  CLS: LOCATE 1,20: PRINT "STOCK BASIS UPDATE": PRINT: PRINT
  407. 4070  RN=1
  408. 4080  GOSUB 5890                         'OPEN PORTFOLIO FILE
  409. 4090  GET #1,RN
  410. 4100  IF EOF(1) THEN 4200
  411. 4110  BS=CVS(BS$)
  412. 4120  PRINT "For: ";ID$;",BS=";BS;: INPUT ". Enter new BS or -1:  ",BS
  413. 4130  IF BS=-1 THEN 4190
  414. 4140  PR=CVS(PR$): SH%=CVI(SH$)
  415. 4150  VL=CVS(VL$)
  416. 4160  GN=(INT((VL-BS)*100+0.5))/100       'RECALCULATE GAIN (LOSS)
  417. 4170  LSET BS$=MKS$(BS): LSET GN$=MKS$(GN)
  418. 4180  PUT #1,RN
  419. 4190  RN=RN+1: GOTO 4090
  420. 4200  CLOSE #1: CMD$="Press F10 to Return to Options:"
  421. 4210  GOSUB 310                          'COMMAND PROMPT
  422. 4220  RETURN
  423. 4230  REM ************************ RECORD ADD ROUTINE **************************
  424. 4240  CLS: LOCATE 1,24: PRINT "ADD STOCK": PRINT: PRINT
  425. 4250  RN=1
  426. 4260  INPUT "Enter Name of Company (up to 19 chars.):  ",I$
  427. 4270  INPUT "Enter Number of Shares Owned:  ",SH%
  428. 4280  INPUT "Enter Current Price of Stock:  ",PR
  429. 4290  INPUT "Enter Date (of Price):  ",D$
  430. 4300  INPUT "Enter Basis Price of Shares:  ",BS
  431. 4310  VL=(INT(SH%*PR*100+0.5))/100        'CALCULATE VALUE
  432. 4320  GN=(INT((VL-BS)*100))/100          'CALCULATE GAIN (LOSS)
  433. 4330  OPEN "B:PORTFOL.DAT" AS #1
  434. 4340  GET #1,RN
  435. 4350  E%=EOF(1): IF E% THEN RN=RN+1: GOTO 4390
  436. 4360  FIELD #1, 19 AS ID$, 26 AS XX$
  437. 4370  IF LEFT$(ID$,LEN(I$)) < I$ THEN RN=RN+1: GOTO 4340
  438. 4380  IF LEFT$(ID$,LEN(I$)) = I$ THEN PRINT "Duplicate! Use Updates.": GOTO 4490
  439. 4390  FIELD #1,45 AS BF$: B$=BF$
  440. 4400  FIELD #1,19 AS ID$,2 AS SH$,8 AS DT$,4 AS PR$,4 AS VL$,4 AS BS$,4 AS GN$
  441. 4410  LSET ID$=I$: LSET SH$=MKI$(SH%): LSET DT$=D$: LSET PR$=MKS$(PR)
  442. 4420  LSET VL$=MKS$(VL): LSET BS$=MKS$(BS): LSET GN$=MKS$(GN)
  443. 4430  PUT #1,RN: IF E% THEN 4490 ELSE RN=RN+1: BB$=B$
  444. 4440  GET #1,RN
  445. 4450  E%=EOF(1): IF E% THEN FIELD #1,45 AS BF$: LSET BF$=BB$: GOTO 4430
  446. 4460  FIELD #1, 45 AS BF$
  447. 4470  B$=BF$: LSET BF$=BB$: BB$=B$
  448. 4480  PUT #1,RN: RN=RN+1: GOTO 4440
  449. 4490  CLOSE#1: CMD$="Press F10 to Return to Options:"
  450. 4500  GOSUB 310                          'COMMAND PROMPT
  451. 4510  RETURN
  452. 4520  REM ********************** RECORD DELETE ROUTINE *************************
  453. 4530  CLS: LOCATE 1,23: PRINT "DELETE STOCK": PRINT: PRINT
  454. 4540  RN=1: RP=1
  455. 4550  INPUT "Enter Name of Company (as carried in file):  ",I$
  456. 4560  ACT$="Processing Delete": GOSUB 360
  457. 4570  OPEN "B:PORTFOL.DAT" AS #1
  458. 4580  OPEN "B:SCRATCH.DAT" AS #2
  459. 4590  GET #1,RN
  460. 4600  IF EOF(1) THEN 4660
  461. 4610  FIELD #1, 19 AS ID$, 26 AS XX$
  462. 4620  IF LEFT$(ID$,LEN(I$))=I$ THEN RN=RN+1: GOTO 4590
  463. 4630  FIELD #2, 19 AS SD$, 26 AS SX$
  464. 4640  LSET SD$=ID$: LSET SX$=XX$
  465. 4650  PUT #2,RP: RN=RN+1: RP=RP+1: GOTO 4590
  466. 4660  CLOSE #1: CLOSE #2: KILL "B:PORTFOL.DAT"
  467. 4670  OPEN "B:SCRATCH.DAT" AS #1: OPEN "B:PORTFOL.DAT" AS #2
  468. 4680  RN=1
  469. 4690  GET #1,RN
  470. 4700  IF EOF(1) THEN 4730
  471. 4710  FIELD #1,45 AS SX$: FIELD #2,45 AS XX$
  472. 4720  LSET XX$=SX$: PUT #2,RN: RN=RN+1: GOTO 4690
  473. 4730  CLOSE #1: CLOSE #2: KILL "B:SCRATCH.DAT"
  474. 4740  ACT$="Done": GOSUB 360
  475. 4750  CMD$="Press F10 to Return to Options:"
  476. 4760  GOSUB 310                          'COMMAND PROMPT
  477. 4770  RETURN
  478. 4780  REM *********** STOCK PURCHASE AND SALE REPORT ROUTINE********************
  479. 4790  CLS: LOCATE 1,18: PRINT  "STOCK PURCHASE and SALE REPORT": PRINT: PRINT
  480. 4800  PRINT "Be Sure `PURCHASE.DAT' is in Drive B.  Press ENTER when Ready."
  481. 4810  A$=INKEY$: IF A$="" THEN 4810
  482. 4820  LOCATE 4,1: PRINT SPACE$(70)
  483. 4830  ACT$="Printing Non-IBM"
  484. 4840  GOSUB 360                          'DISPLAY ACTION
  485. 4850  RN=1
  486. 4860  LPRINT CHR$(15): WIDTH "LPT1:",132 'SET PRINTER - COMPRESSED at 132
  487. 4870  GOSUB 5930                         'OPEN PURCHASE FILE
  488. 4880  LPRINT TAB(100) DATE$: LPRINT
  489. 4890  LPRINT TAB(40) "STOCK PURCHASE and SALE RECORDS - Non IBM": LPRINT
  490. 4900  LPRINT "ID  Company              Shrs   Date Pur.   Price      Date Sold    S. Price    Gain(Loss)    Tp   Ts   Src   Cert.#    Tr"
  491. 4910  LPRINT
  492. 4920  GET #1,RN
  493. 4930  IF EOF(1) THEN 5070
  494. 4940  IF LEFT$(NM$,3)="IBM" THEN 5060
  495. 4950  PN=CVS(PN$): GN=CVS(GN$)
  496. 4960  SH%=CVI(SH$): PR=CVS(PR$)
  497. 4970  LPRINT ID$;"  ";NM$;
  498. 4980  LPRINT USING "   ###";SH%;
  499. 4990  LPRINT TAB(33) DT$;
  500. 5000  LPRINT USING "  $$####,.##";PR;
  501. 5010  LPRINT TAB(56) DS$;TAB(65) " ";
  502. 5020  LPRINT USING "  $$####,.##";PN;
  503. 5030  LPRINT TAB(78) " ";
  504. 5040  LPRINT USING "  $$####,.##-";GN;: LPRINT TAB(95) TP$;
  505. 5050  LPRINT TAB(100) ST$; TAB(106) SR$; TAB(111) CT$; TAB(122) TR$
  506. 5060  RN=RN+1: GOTO 4920                 'BACK FOR NEXT
  507. 5070  RN=1: LPRINT CHR$(12);             'TAB PRINTER
  508. 5080  LOCATE 4,1: PRINT "End of Non-IBM Listing.  Press any Key to Continue."
  509. 5090  A$=INKEY$: IF A$="" THEN 5090
  510. 5100  LOCATE 4,1: PRINT SPACE$(70)
  511. 5110  ACT$="Printing IBM": GOSUB 360     'DISPLAY ACTION
  512. 5120  LPRINT TAB(100) DATE$: LPRINT
  513. 5130  LPRINT TAB(40) "STOCK PURCHASE and SALE RECORDS - IBM Stock": LPRINT
  514. 5140  LPRINT "Shrs  Date Pur.    Price     Avg Mkt   Ord In  Off Date    Date Sold    S. Price    Gain(Loss)    Tp   Ts   Src   Cert.#"
  515. 5150  LPRINT
  516. 5160  GET #1,RN
  517. 5170  IF EOF(1) THEN 5290
  518. 5180  IF LEFT$(NM$,3) <> "IBM" THEN 5280
  519. 5190  SH%=CVI(SH$): PR=CVS(PR$): MP=CVS(MP$): IN=CVS(IN$):
  520. 5200  PN=CVS(PN$): GN=CVS(GN$)
  521. 5210  LPRINT USING "###   ";SH%;: LPRINT DT$;: LPRINT USING " $$####,.##";PR;
  522. 5220  LPRINT USING " $$####,.##";MP;: LPRINT USING " $$###.##  ";IN;
  523. 5230  LPRINT DO$; TAB(60) DS$; TAB(69) " ";
  524. 5240  LPRINT USING "  $$####,.##";PN;
  525. 5250  LPRINT TAB(82) " ";
  526. 5260  LPRINT USING "  $$####,.##";GN;: LPRINT TAB(99) TP$;
  527. 5270  LPRINT TAB(104) ST$; TAB(110) SR$; TAB(115) CT$
  528. 5280  RN=RN+1: GOTO 5160
  529. 5290  ACT$="Done": GOSUB 360
  530. 5300  CLOSE #1: LPRINT CHR$(18);CHR$(12);: WIDTH "LPT1:",80
  531. 5310  KEY(10) ON: ON KEY(10) GOSUB 6400
  532. 5320  CMD$="Press F10 to Return to Options:"
  533. 5330  GOSUB 310                          'COMMAND PROMPT
  534. 5340  RETURN
  535. 5350  REM **************** UPDATE PURCHASE FILE SCREEN *************************
  536. 5360  GOSUB 1240                         'DISPLAY OPTION SCREEN
  537. 5370  GOSUB 1370                         'ACTIVATE FUNCTION KEYS
  538. 5380  GOSUB 310                          'COMMAND PROMPT
  539. 5390  RETURN
  540. 5400  REM ******************* CERTIFICATE UPDATE ROUTINE ***********************
  541. 5410  CLS:LOCATE 1,20: PRINT "STOCK CERTIFICATE UPDATE": PRINT: PRINT
  542. 5420  RN=1: NM=0
  543. 5430  GOSUB 5930                         'OPEN FILE
  544. 5440  INPUT "Enter Date of Purchase (MM/DD/YY):  ",D$
  545. 5450  INPUT "Enter Company Name:  ",N$
  546. 5460  INPUT "Enter Number of Shares:  ",NS
  547. 5470  GET #1,RN
  548. 5480  IF EOF (1) THEN 5600
  549. 5490  IF D$ <> DT$ THEN 5590
  550. 5500  IF LEFT$(NM$,5) <> LEFT$(N$,5) THEN 5590
  551. 5510  IF NS <> CVI(SH$) THEN 5590"
  552. 5520  NM=1
  553. 5530  PRINT "Certificate = ";CT$;: INPUT ". Enter New Cert. Num. or -1:  ",C$
  554. 5540  IF C$ = "-1" THEN 5560
  555. 5550  LSET CT$=C$: PUT #1,RN
  556. 5560  INPUT "Another? (Y or N):  ",A$
  557. 5570  IF A$ <> "Y" AND A$ <> "y" THEN 5600
  558. 5580  RN=RN+1: GOTO 5440
  559. 5590  RN=RN+1: GOTO 5470
  560. 5600  CLOSE #1
  561. 5610  IF NM=0 THEN PRINT "No Qualifying Record Found! Please Verify Parameters."
  562. 5620  CMD$="Press F1 to Return to Update Options (F10 for Primary List):"
  563. 5630  KEY(1) ON: ON KEY(1) GOSUB 5360: ON KEY(10) GOSUB 6400
  564. 5640  GOSUB 310                          'COMMAND PROMPT
  565. 5650  RETURN
  566. 5660  REM ****************** INITIALIZE FILES ROUTINE **************************
  567. 5670  GOSUB 1610                         'DISPLAY OPTION SCREEN
  568. 5680  GOSUB 1710                         'ACTIVATE FUNCTION KEYS
  569. 5690  GOSUB 310                          'COMMAND PROMPT
  570. 5700  RETURN
  571. 5710  REM ****************** INITIALIZE PORTFOL ROUTINE ************************
  572. 5720  GOSUB 1750                         'DISPLAY INPUT SCREEN
  573. 5730  OPEN "B:PORTFOL.DAT" AS #1
  574. 5740  FIELD #1, 19 AS ID$,2 AS SH$,16 AS XX$,4 AS BS$,4 AS XY$
  575. 5750  LSET ID$=I$: LSET SH$=MKI$(SH%): LSET XX$=" ": LSET BS$=MKS$(BS)
  576. 5760  LSET XY$=" "
  577. 5770  PUT #1,1: CLOSE #1                 'WRITE INITIAL RECORD
  578. 5780  GOSUB 310                          'COMMAND PROMPT
  579. 5790  RETURN
  580. 5800  REM ****************** INITIALIZE PURCH ROUTINE **************************
  581. 5810  GOSUB 1850                         'DISPLAY INPUT SCREEN
  582. 5820  GOSUB 5930                         'OPEN PURCHASE FILE
  583. 5830  LSET ID$=I$: LSET NM$=N$: LSET SH$=MKI$(SH%): LSET DT$=D$
  584. 5840  LSET PR$=MKS$(PR): LSET SR$=S$
  585. 5850  PUT #1,1: CLOSE #1                 'WRITE INITIAL RECORD
  586. 5860  GOSUB 310                          'COMMAND PROMPT
  587. 5870  RETURN
  588. 5880  REM ******************** OPEN PORTFOLIO.DAT ******************************
  589. 5890  OPEN "B:PORTFOL.DAT" AS #1
  590. 5900  FIELD #1,19 AS ID$,2 AS SH$,8 AS DT$,4 AS PR$,4 AS VL$,4 AS BS$,4 AS GN$
  591. 5910  RETURN
  592. 5920  REM ********************* OPEN PURCHASE.DAT ******************************
  593. 5930  OPEN "B:PURCHASE.DAT" AS #1
  594. 5940  FIELD #1,2 AS ID$,19 AS NM$,2 AS SH$,8 AS DT$,4 AS PR$,4 AS MP$,2 AS SR$,8 AS DS$,4 AS PN$,2 AS ST$,4 AS GN$,1 AS TP$,8 AS CT$,4 AS IN$,8 AS DO$,1 AS TR$
  595. 5950  RETURN
  596. 5960  REM *********************** LOGO SCREEN **********************************
  597. 5970  CLS: KEY OFF
  598. 5980  B$=CHR$(220): B3$=STRING$(3,B$): B4$=B$+B3$: B5$=B4$+B$: B6$=B3$+B3$
  599. 5990  B7$=B4$+B3$: B8$=B4$+B4$: B9$=B6$+B3$: BT$=B5$+B5$: BE$=B8$+B4$
  600. 6000  S$=" ": S2$=S$+S$: S3$=S$+S2$: S4$=S2$+S2$: S5$=S4$+S$
  601. 6010  S6$=S3$+S3$: S7$=S3$+S4$
  602. 6020  LOCATE 2,14: PRINT B7$;S$;BT$;S3$;B6$;S7$;B6$
  603. 6030  LOCATE 3,14: PRINT B7$;S$;BE$;S$;B7$;S5$;B7$
  604. 6040  LOCATE 4,16: PRINT B3$;S5$;B3$;S4$;B3$;S3$;B6$;S3$;B6$
  605. 6050  LOCATE 5,16: PRINT B3$;S5$;B9$;S4$;B7$;S$;B7$
  606. 6060  LOCATE 6,16: PRINT B3$;S5$;B9$;S4$;B3$;S$;B7$;S$;B3$
  607. 6070  LOCATE 7,16: PRINT B3$;S5$;B3$;S4$;B3$;S3$;B3$;S2$;B5$;S2$;B3$
  608. 6080  LOCATE 8,14: PRINT B7$;S$;BE$;S$;B5$;S3$;B3$;S3$;B5$
  609. 6090  LOCATE 9,14: PRINT B7$;S$;BT$;S3$;B5$;S4$;B$;S4$;B5$
  610. 6100  LOCATE 11,25: PRINT "Personal Computer"
  611. 6110  T1$=STRING$(66,"*")
  612. 6120  T2$="STOCK  PORTFOLIO  MANAGEMENT   v 1.00"
  613. 6130  T3$="Personal Finance for the IBM Personal Computer, from SoftPic"
  614. 6140  T4$="Copyright 1982, SoftPic Corporation, Stamford, Conn. 06903"
  615. 6150  T5$="Author: Art M. Pickard"
  616. 6160  LOCATE 13,20: PRINT T2$
  617. 6170  LOCATE 15,1: PRINT T1$
  618. 6180  PRINT "*  ";T3$;TAB(66) "*": PRINT "*   ";T4$;
  619. 6190  PRINT TAB(66) "*": PRINT "*";TAB(66) "*"
  620. 6200  PRINT "*   ";T5$;TAB(66) "*": PRINT T1$
  621. 6210  RETURN
  622. 6220  REM ********************* WELCOME SCREEN ********************************
  623. 6230  CLS: LOCATE 2,1
  624. 6240  PRINT "Welcome to STOCK PORTFOLIO MANAGEMENT.  You will find a number of"
  625. 6250  PRINT "useful functions are provided to ease the record keeping for your"
  626. 6260  PRINT "personal investment portfolio.  These functions are selected from"
  627. 6270  PRINT "the Primary Option Screen by pressing one of the 10 Function Keys"
  628. 6280  PRINT "to select the desired function.  In some cases, an additional set"
  629. 6290  PRINT "of choices will then be displayed.  Choices are again selected by"
  630. 6300  PRINT "pressing a Function Key.":PRINT
  631. 6310  PRINT "Most options operate against one or more files, which must be put"
  632. 6320  PRINT "into Drive B, prior to function start.  The two files you need to"
  633. 6330  PRINT "get started are named and described when you request the DESCRIBE"
  634. 6340  PRINT "(Key 9) function.  Please read this material before attempting to"
  635. 6350  PRINT "use the other functions."
  636. 6360  RETURN
  637. 6370  REM ********************** HELP SCREENS **********************************
  638. 6380  CLS: PRINT "F1 - HELP"
  639. 6390  RETURN
  640. 6400  GOTO 230
  641. 6410  CLS: PRINT "F6 - HELP"
  642. 6420  RETURN
  643. 6430  CLS: PRINT "F5 - HELP"
  644. 6440  RETURN
  645.